#pragma once

#ifdef WIN32
#include <winsock2.h>
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#endif

namespace Core
{

	class InternetAddress
	{
	public:
		std::string Address;
		unsigned short PortNumber;

		InternetAddress();
		InternetAddress(sockaddr_in& p_SockAddrIn);
		InternetAddress(std::string p_Address, unsigned short p_PortNumber);
		void SetSockAddrIn(sockaddr_in& p_SockAddrIn);
		struct sockaddr_in GetSockAddrIn();
		unsigned long GetAddress();
		void SetAddress(unsigned long p_Address);
	};

}
